package com.mymarkdown.app.interfaces;

import com.mymarkdown.app.fx.assemblys.FxTreeItem;
import javafx.scene.control.TreeItem;

import java.io.File;

/**
 * @author zenglun
 * @date 2021/12/15 9:15 下午
 * @description: 该接口定义修改UI控件的方法
 */
public interface ModifyWindow<T extends ModifyWindow> {
    /**
     * 改变标题
     */
    T changeTitle();



    void getAllCurrentFileBuildTree(TreeItem<String> root, File file);


    FxTreeItem getTreeItemByPath(String path);

    void addTreeItemByPath(String path);

    /**
     * 移除一个TreeItem
     * @param path 要移除的路径
     */
    void removeItemByPath(String path);



    void loadHistoryOperationTree();

    void loadWorkDirTree();

    void addHistoryOperationTreeItem(String path);

    void removeHistoryTreeItem(FxTreeItem<String> treeItem);
}
